﻿
#include "_zhinc.h"



定义数组(中文数字名 为 句子 长度为 自动长度) 赋初值 开始
    "  ", "一", "二", "三", "四", "五", "六", "七", "八", "九"
结束;

无返回 打印乘法结果(行,列)  // K&R 格式函数原型，纯粹为了格式好看点
    定义参数(行 为 整数);
    定义参数(列 为 整数);
开始
    定义变量(乘法结果 为 整数) 赋初值 列 乘 行;
    定义变量(十位值 为 整数);

    说( "%s%s" , 中文数字名[列], 中文数字名[行]);

    十位值 赋值为 乘法结果 除 10;

    若 乘法结果 == 10 则
        说("一十 ");
        返回;
    结束;

    若 十位值 等于 0 则
        说("得");
    又若 十位值 等于 1 则
        说("十");
    否则
        说("%s十", 中文数字名[十位值]);
    结束

    说("%s ", 中文数字名[乘法结果 余 10]);

    // 这段代码并非必须，只是为了输出对齐而已
    若 列 等于 3 且 乘法结果 小于 20 则
        说("  ");
    结束
结束

无返回 打印乘法表行(行)     // K&R 格式函数原型，纯粹为了格式好看点
    定义参数(行 为 整数);
开始
    定义变量(列 为 整数);

    列 赋值为 1;

    当 列 小于等于 行 时
        打印乘法结果(行, 列);
        列 加一;
    循环
    说("\n");
结束


主程序入口
    定义变量(行 为 整数) 赋初值 1;

    当 行 小于等于 9 时
        打印乘法表行(行);
        行 加一;
    循环

    说("\n");
结束




/*  原始打印阿拉伯数字代码

void print_line(lineno)
    int lineno;
{
    int loop;
    loop = 1;

    while(loop <= lineno) {
        printf("%dx%d=%d ", loop, lineno, loop * lineno);
        loop ++;
    }
    printf("\n");
}

int main()
{
    int lineno = 1;
    while(lineno <= 9) {
        print_line(lineno);
        lineno ++;
    }
}

*/
